.\" Process this file with
.\" groff -man -Tascii tsh.1
.\"
.TH TSH 1 "OCTOBER 2011" "NU EECS 343" "NU EECS 343 - Operating Systems - Fall 2011"
.SH NAME
tsh \- A tiny shell
.SH SYNOPSIS
.B tsh
.SH DESCRIPTION
.B tsh
is a little bundle of joy that includes the following features:
 - Run commands throughout the file system
 - Change the current directory
 - Launch applications in a separate process
 - Kill processes with Ctrl + C
 - Stop processes with Ctrl + Z
 - Start applications in the background with "&"
 - Pipe the output of one command to another with "|"
 - Redirect process I/O with "<" and ">"
 - "exit" with finesse
 - Passes all 25 basic test cases!
 - No compiler warnings!
 - No memory leaks!
.SH BUILT-IN COMMANDS
.IP ./PATH
Execute a path relative to the current working directory
.IP /PATH
Execute a root-relative path
.IP "COMMAND &"
Execute a command as a background process
.IP "COMMAND_1 | COMMAND_2"
Pipe the output of COMMAND_1 to COMMAND_2
.IP "COMMAND > FD"
Redirect the output of COMMAND_1 to file descriptor FD
.IP "COMMAND > FD"
Use the contents of file descriptor FD as the input to COMMAND
.IP "cd PATH"
Change the current directory to PATH
.IP "fg JOB"
Return job number JOB to the foreground
.IP "bg JOB"
Send the SIGCONT signal to the process for job number JOB
.IP jobs
List all currently-running jobs
.IP exit
Quit tsh
.SH DESIGN APPROACH
This code base follows the provided project skeleton as closely as possible, which
should be apparent with a quick glance through the code. Most functionality
is implemented in runtime.c.
.LP
tsh passes all 25 of the basic test cases.
.LP
The extra credit was not attempted.
.SH AUTHOR
Lovingly crafted by:
 - Brad Weinberger (brw639 / BradWeinberger2012@u.northwestern.edu)
 - Ethan Romba (ejr971 / EthanRomba@u.northwestern.edu)
